// finger 服务 5. 读取用户名，输出错误消息，然后断开连接。
// 如果读取到一行以 \r\n 结尾的消息，就发送一条出错消息，然后断开连接。
#include <muduo/net/EventLoop.h>
#include <muduo/net/TcpServer.h>

using namespace muduo;
using namespace muduo::net;

void
OnMessage(const TcpConnectionPtr &conn, Buffer *buf, Timestamp receiveTime) {
	if (buf->findCRLF()) {
		conn->send("No such user\r\n");
		conn->shutdown();
	}
}

int
main() {
	// 可以使用 nc 通过发送以 \r\n 为行结束的文件来测试。
	// 或者用 telnet 进行测试。
	EventLoop loop;
	TcpServer server(&loop, InetAddress(1079), "Finger");
	server.setMessageCallback(OnMessage);
	server.start();
	loop.loop();
	return 0;
}
